package com.xbongbong.paas.service;

import com.xbongbong.paas.pojo.dto.LinkFormDataEditGetDTO;
import com.xbongbong.paas.pojo.dto.LinkFormDataFastAddGetDTO;
import com.xbongbong.paas.pojo.vo.LinkFormDataAddGetVO;
import com.xbongbong.paas.pojo.vo.LinkFormDataEditGetVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.invoice.pojo.dto.InvoiceLinkContractGetDTO;
import com.xbongbong.pro.invoice.pojo.vo.InvoiceLinkContractGetVO;
import com.xbongbong.pro.payment.pojo.dto.PaymentWriteOffGetDTO;
import com.xbongbong.pro.payment.pojo.vo.PaymentWriteOffGetVO;

/**
 * 应用模块名称<p>
 * 代码描述<p>
 * Company: 逍邦网络科技有限公司<p>
 *
 * @author chenshan
 * @version v1.0
 * @since 2020-02-13 14:19
 */
public interface PaasLinkFormDataService {
    /**
     * 关联新建,目前主要用于新建付款单和付款计划新建
     * @param linkFormDataFastAddGetDTO
     * @return
     * @throws XbbException
     */
    LinkFormDataAddGetVO linkFastAddGet(LinkFormDataFastAddGetDTO linkFormDataFastAddGetDTO) throws XbbException;
    
    
    /**
     * 关联编辑,目前主要用于新建付款单和付款计划新建
     * @param linkFormDataEditGetDTO
     * @return
     * @throws XbbException
     */
    LinkFormDataEditGetVO linkFastEditGet(LinkFormDataEditGetDTO linkFormDataEditGetDTO) throws XbbException;

    /**
     * 应收款核销的关联新建
     * @param paymentWriteOffGetDTO
     * @return com.xbongbong.pro.payment.pojo.vo.PaymentWriteOffGetVO
     * @throws XbbException
     * @author zcp
     * @since v1.0
     * @version v1.0
     */
    PaymentWriteOffGetVO paymentWriteOffGet(PaymentWriteOffGetDTO paymentWriteOffGetDTO) throws XbbException;

    /**
     * 销项发票关联合同按钮数据回显
     * @param invoiceLinkContractGetDTO
     * @return com.xbongbong.pro.invoice.pojo.vo.InvoiceLinkContractGetVO
     * @throws XbbException
     * @author lvruijuan
     */
    InvoiceLinkContractGetVO invoiceLinkContractGet(InvoiceLinkContractGetDTO invoiceLinkContractGetDTO) throws XbbException;

}
